iT邦幫忙

2025 iThome 鐵人賽

DAY 17
0
DevOps

DevOps 進化論:從全能型戰士到安全守門員系列 第 17

Day 17 : 使用 Terraform 打造 AWS × GCP 混合雲基礎架構

  • 分享至 

  • xImage
  •  

前言

💡承接 Day 16:上一篇談應用層高可用(HPA/PDB/Deployment)。要落地,先有可複製的網路底座。

🏃本篇目標:用 Terraform 一次把 AWS 與 GCP 的 VPC 建起來,示範以 tfvars + workspace 在兩雲切換,做出「同一套 IaC、不同雲可重用」的最小骨架。

但要讓這些能力落地,還需要一個可靠且可複製的基礎設施底座:網路邊界、對外入口與一致的佈署流程。於是 Day 17 我們把焦點下沉到「基礎設施層」,用 Terraform 把這個底座自動化。

Terraform是什麼?

Terraform 是 HashiCorp 的 IaC 工具,讓你用程式碼管理雲端/本地資源,用 plan ➜ apply 自動部署,並透過 state 確保環境一致。

Terraform的用途

1.跨雲佈署與一致管理:同一套程式碼控管 AWS、GCP、Azure、K8s…(靠 providers)。

2.環境模板化:模組化(modules)與變數(variables),快速複製 dev/stg/prod。

3.安全變更:terraform plan 先預演差異,再 apply;支援回收(destroy)與漂移檢測。

4.協作與版本控:把基建放進 Git,走 PR/Code Review 流程。

專案目錄

https://ithelp.ithome.com.tw/upload/images/20250830/20178156rcoIAEIV4x.png

實作步驟

1.啟用服務 & 開通帳戶

https://ithelp.ithome.com.tw/upload/images/20250830/20178156R1bg8RoV9Q.png

2.準備所需檔案

https://ithelp.ithome.com.tw/upload/images/20250830/20178156qo1U1FRTbg.png
https://ithelp.ithome.com.tw/upload/images/20250830/20178156UrMKQWC7qq.png

3.初始化專案 & 組態健檢

 terraform init       #初始化
 terraform validate   #組態健檢

https://ithelp.ithome.com.tw/upload/images/20250830/20178156dw4qMn8IPc.png

4.設定金鑰認證與參數

https://ithelp.ithome.com.tw/upload/images/20250830/201781560UzMckzYPR.png

5.執行AWS 及 Google Cloud VPC部署(apply前可使用plan預覽)

●執行AWS VPC部署
指令👉terraform apply -var-file="terraform.aws.tfvars"
https://ithelp.ithome.com.tw/upload/images/20250830/20178156hnmBxg2Tgo.png
●執行Google Cloud VPC部署
指令👉terraform apply -var-file="terraform.gcp.tfvars"
https://ithelp.ithome.com.tw/upload/images/20250830/20178156jET6GhKJrU.png

6.至儀表板查看部署結果

●至AWS的VPC 儀表板查看部署結果
https://ithelp.ithome.com.tw/upload/images/20250830/20178156Ex1DxmGEDI.png
●至Goolde Cloud的虛擬私有網路查看部署結果
https://ithelp.ithome.com.tw/upload/images/20250830/20178156x0sKuPmAyH.png


上一篇
Day 16 : 高可用與自動擴展:HPA、PDB 與 Deployment 策略圖解
下一篇
Day 18 : 從 Terraform 到 Helm:IaC 的雙核心
系列文
DevOps 進化論:從全能型戰士到安全守門員19
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言